<template>
	<el-input 
		v-model="input" 
		:placeholder="placeholder" 
		:size="size?size:'small'"
		@input="changeKey">
	</el-input>
</template>

<script>
export default {
	props:["value","placeholder","type","size"],
	watch:{
		input(val){
			
		}
	},
	data () {
		return {
			input:"",
		}
	},
	methods:{
		changeKey(){
			// 只能0-9的数字
			if(this.type == 'int'){
				this.input = this.input.replace(/[^0-9]/g,'');
			}
			// 只能0-9的数字 + 小数点
			else if(this.type == 'number'){
				this.input = this.input.replace(/[^\0-9\.]/g,'');
			}
			// 只能英文
			else if(this.type == 'english'){
				this.input = this.input.replace(/[^\a-\z\A-\Z]/g,'');
			}
			// 只能英文 + 数字，不支持小数点
			else if(this.type == 'engNumber'){
				this.input = this.input.replace(/[^\a-\z\A-\Z0-9]/g,'');
			}
			// 只能中文
			else if(this.type == 'china'){
				this.input = this.input.replace(/[^\u4E00-\u9FA5]/g,'');
			}
			// 除了特殊符号，其他都能输入（默认）
			else{
				this.input = this.input.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'');
			}
			this.$emit("input",this.input);
		}
	},
}
</script>

<style>
</style>
